Method and an apparatus for compression of binary data

ABSTRACT

The invention is a method and apparatus for compression of binary data. The signal is used before modulation to increase the effective transmission rate by compressing it prior to being encoded onto a magnetic tape or other storage media. The transition bits of the data have a bit period no smaller than the smallest bit period without increasing the maximum frequency. However, non-transition bits have a bit period smaller than that of the transitioning bits. Since there is at least one full bit period between any two transitions, the maximum frequency is unaffected and is used for synchronization. Noise in a transmission is masked using bit period information, and since no other transition can be valid until at least the transition bit period has passed, noise occurring before passage of the transition bit period does not result in an error.

RELATED APPLICATION INFORMATION

[0001] The present application is a continuation application of U.S.application Ser. No. 10/193,010, filed Jul. 09, 2002, entitled, “Methodand Apparatus for Compression of Binary Data”, the disclosure of whichis hereby incorporated by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to the field of data compression,and in particular to a method and apparatus for compression of binarydata prior to transmission or storage.

[0004] 2. Background Art

[0005] Frequently, it is necessary or desirable to transmit data fromone location to another using some form of modulation or to storeinformation on storage media using some encoding algorithm. For example,a text document may be encoded and transmitted between two computersusing frequency modulation (FM). Another example is the storage ofbinary data on a tape drive storage device. It is generally desirable totransmit or store data efficiently, but prior transmission methods arenot as efficient as is possible. These limitations can be betterunderstood with a review of modulated transmissions.

[0006] Modulated Transmissions

[0007] Modulation is the addition of information to an electronic,optical or other signal carrier. Modulation can be applied to directcurrent, to alternating current, and to optical signals (e.g., laserlight, or radio or magnetic waves).

[0008] For most of radio and telecommunication today, the carrier isalternating current in a given range of frequencies, and commonmodulation methods include:

[0009] Amplitude modulation (AM), in which the amplitude of thetransmitted signal is varied over time;

[0010] Frequency modulation (FM), in which the frequency of the carriersignal is varied in small but meaningful amounts; and

[0011] Phase modulation (PM), in which the natural flow of thealternating current waveform is delayed temporarily.

[0012] These are sometimes known as continuous wave modulation methodsto distinguish them from pulse code modulation, which is used to encodeboth digital and analog information in a binary way. Radio andtelevision broadcast stations typically use AM or FM, and most two-wayradios use FM.

[0013] Increasing Effective Transmission Rates

[0014] The transmission rate is the number of information unitstransmitted per time unit. For example, a network connection maytransmit at a Gigabit per second. It is possible to increase theeffective transmission rate without increasing the transmission rate.For example, one method of increasing effective transmission rates is tocompress the data before it is encoded in the modulated transmission.Since fewer bits are being transmitted, the effective transmission rateis increased.

[0015] For example, if a 100 megbyte data file is transmitted at 1megabyte per second, the entire process will take 100 seconds. However,if the data file is first compressed into a 60 megabyte file, thetransmission will require only 60 seconds. While this method canincrease effective transmission rates, it is limited by the amount thedata file can be compressed before being modulated.

[0016] Another method of increasing effective transmission rates is tosimply increase the transmission rate. For example, if each bit took 2seconds to transmit and the rate was increased to transmitting each bitin 1 second, the transmission rate would double. However, this methodalso increases the maximum frequency of the signal. For example, amodulated carrier signal that had a maximum frequency of 10 MHz wouldnow have a maximum frequency of 20 MHz. Thus, this method cannot be usedwhen the maximum frequency is near some threshold value imposed eitherby physical limitations (e.g., bandwidth) or protocols of thetransmission system.

SUMMARY OF THE INVENTION

[0017] Embodiments of the present invention are directed to a method andan apparatus for compression of binary data prior to transmission orstorage. In one embodiment of the present invention, a modulated signalis compressed. In one embodiment, compression of the modulated signal isused in addition to compression of the data before modulation toincrease the effective transmission rate. In other embodiments, binarydata is compressed prior to being encoded onto magnetic tape or otherstorage media.

[0018] In one embodiment, data is transmitted using a FM signal. The FMsignal is compressed without increasing the maximum frequency. In oneembodiment, transition bits (e.g., a 1 following a 0, or a 0 followinga 1) have a bit period (i.e., the time between successive bits) nosmaller than the smallest bit period possible without increasing themaximum frequency. However, non-transition bits (e.g., a 0 following a0, or a 1 following a 1) have a bit period smaller than that of thetransitioning bits. For example, in one embodiment, the bit period ofnon-transition bits is one-half that of the bit period for transitionbits. Thus, a sequence of a transition bit followed by twonon-transition bits (e.g., 111 or 000) would be transmitted in two bitperiods instead of three.

[0019] The maximum frequency is determined by the space between the twotransitions that occur most closely together (e.g., 0 to 1 to 0, or 1 to0 to 1). Since there is still a guarantee for at least one full bitperiod between any two transitions, the maximum frequency is unaffected.Thus, the maximum frequency is used, in one embodiment, forsynchronization purposes.

[0020] In one embodiment, a header sequence is transmitted. In oneembodiment, the header sequence is known to the receiving system. Thus,the header sequence is used to synchronize the receiving system. In oneembodiment, the header sequence contains a series of transition bits(e.g., 1010 or 0101) to assist in synchronization. In anotherembodiment, every time a transition bit is received, synchronization isperformed. In yet another embodiment, the header contains anon-transition bit (e.g., 10100 or 01011). Because the receiving systemknows where the non-transition bit occurs, the system is able todetermine the bit period of non-transition bits. Thus, the system iscapable of receiving different transitions that each have a differentbit period for non-transition bits (e.g., one with a bit period equal toone-half the length of the bit period for transition bits, and anotherwith a bit period equal to one-fifth the length of the bit period fortransition bits).

[0021] In another embodiment, noise in a transmission is masked usingbit period information. When a transition bit occurs, no othertransition can be valid until at least the transition bit period haspassed. Thus, noise occurring before passage of the transition bitperiod will not result in an error. This noise immunity propertyincreases as the percentage of transition bits in the data increases.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] These and other features, aspects and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims and accompanying drawings where:

[0023]FIG. 1 is a flow diagram of the process of transmitting data inaccordance with one embodiment of the present invention.

[0024]FIG. 2 is a flow diagram of the process of compressing a modulatedcarrier signal in accordance with one embodiment of the presentinvention.

[0025]FIG. 3A is a flow diagram of the process of decompressing amodulated carrier signal wherein each bit is decoded as it isencountered in accordance with one embodiment of the present invention.

[0026]FIG. 3B is a flow diagram of the process of decompressing amodulated carrier signal wherein bits are decoded as transitions areencountered in accordance with one embodiment of the present invention.

[0027]FIG. 4 is a block diagram of an example of a modulated sequence,its compressed representation and its decompressed representation inaccordance with one embodiment of the present invention.

[0028]FIG. 5A is a flow diagram of the process of receiving a compressedmodulated carrier signal wherein each bit is decoded as it isencountered in accordance with one embodiment of the present invention.

[0029]FIG. 5B is a flow diagram of the process of receiving a compressedmodulated carrier signal wherein bits are decoded as transitions areencountered in accordance with one embodiment of the present invention.

[0030]FIG. 6 is a flow diagram of the process of determining thenon-transition bit period in accordance with one embodiment of thepresent invention.

[0031]FIG. 7 is a block diagram of a noisy compressed signal and theresulting decompressed signal in accordance with one embodiment of thepresent invention.

[0032]FIG. 8 is a block diagram of a general purpose computer.

DETAILED DESCRIPTION OF THE INVENTION

[0033] The invention is a method and an apparatus for compression ofbinary data prior to transmission or storage. In the followingdescription, numerous specific details are set forth to provide a morethorough description of embodiments of the invention. It is apparent,however, to one skilled in the art, that the invention may be practicedwithout these specific details. In other instances, well known featureshave not been described in detail so as not to obscure the invention.

[0034] Embodiments of the present invention are directed to a method andan apparatus for compression of modulated data transmission. In oneembodiment of the present invention, the modulated signal is compressed.In one embodiment, compression of the modulated signal is used inaddition to compression of the data before modulation to increase theeffective transmission rate.

[0035]FIG. 1 illustrates the process of transmitting data in accordancewith one embodiment of the present invention. At block 100, it isdetermined whether the data file is to be compressed. If the data fileis to be compressed, at block 110, the data file is compressed and theprocess continues at block 120. If the data file is not to becompressed, at block 120, the data file is modulated into a carriersignal. At block 130, the modulated carrier signal is compressed.

[0036] Compression of a Modulated Carrier Signal

[0037] In one embodiment, data is transmitted using an FM signal. The FMsignal is compressed without increasing the maximum frequency. In oneembodiment, transition bits (e.g., a 1 following a 0, or a 0 followinga 1) have a bit period (i.e., the time between successive bits) nosmaller than the smallest bit period possible without increasing themaximum frequency. However, non-transition bits (e.g., a 0 following a0, or a 1 following a 1) have a bit period smaller than that of thetransitioning bits. For example, in one embodiment, the bit period ofnon-transition bits is one-half that of the bit period for transitionbits. Thus, a sequence of a transition bit followed by twonon-transition bits (e.g., 000 or 111) would be transmitted in two bitperiods instead of three.

[0038]FIG. 2 illustrates the process of compressing a modulated carriersignal in accordance with one embodiment of the present invention. Atblock 200, the first bit of data being transmitted in the modulatedcarrier signal is transmitted at the bit period for a transition bit. Inone embodiment, the bit period for the transition bit is the smallestpossible bit period that doesn't increase the maximum frequency beyond alimiting threshold. At block 210, it is determined whether the next bitof data being transmitted in the modulated carrier signal is anon-transition bit. If the next bit of data being transmitted in themodulated carrier signal is not a non-transition bit, at block 220, itis transmitted at the bit period for a transition bit and the processcontinues at block 240.

[0039] If the next bit of data being transmitted in the modulatedcarrier signal is a non-transition bit, at block 230, it is transmittedat the bit period for a non-transition bit and the process continues atblock 240. In one embodiment, the bit period for a non-transition bit isthe smallest possible fraction of the bit period for a transition bitwithout losing or corrupting the data being transmitted. In anotherembodiment, the non-transition bit period is not the smallest possiblefraction of the transition bit period, but it is still smaller than thetransition bit period.

[0040] In one embodiment, the non-transition bit period is one-half ofthe transition bit period. In other embodiments, the non-transition bitperiod could be one-third of the transition bit period, one-fourth ofthe transition bit period, one-fifth of the transition bit period, orstill smaller ratios of non-transition bit period to transition bitperiod.

[0041] At block 240, it is determined whether the most recentlytransmitted bit was the last bit of data being transmitted by themodulated carrier signal. If the most recently transmitted bit was thelast bit of data being transmitted by the modulated carrier signal, atblock 250, the transmission is complete. If the most recentlytransmitted bit was not the last bit of data being transmitted by themodulated carrier signal, the process repeats at block 210.

[0042] The maximum frequency is determined by the space between the twotransitions that occur most closely together (e.g., 0 to 1 to 0, or 1 to0 to 1). Since there is still guaranteed to be at least one full bitperiod between any two transitions, the maximum frequency is unaffected.

[0043] In other embodiments, the above scheme is used to compress binarydata regardless of whether the binary data is being transmitted. Forexample, one embodiment uses the above scheme to compress binary datathat is stored on a magnetic tape.

[0044] Decompression of a Modulated Carrier Signal

[0045]FIG. 3A illustrates the process of decompressing a modulatedcarrier signal wherein each bit is decoded as it is encountered inaccordance with one embodiment of the present invention. At block 300,the receiving system decodes the first bit of the transmitted data andthe bit period for the first bit is assumed to be equal to thetransition bit period. At block 310, after the transition bit periodpasses, it is determined whether a transition occurs.

[0046] Any of many well-known methods for detecting a signal transitionmay be used in various embodiments of the present invention. In oneembodiment, a range of the signal around the location where thetransition should occur is checked for the presence of a transition.However, the range checked is not larger than the non-transition bitperiod for the transmission. If a transition occurs, at block 320, a newbit is decoded (the opposite of the previous bit) and the new bit isassumed to have a bit period equal to the transition bit period and theprocess repeats at block 310.

[0047] If a transition does not occur, at block 330, a new bit isdecoded (the same as the previous bit) and the new bit is assumed tohave a bit period equal to the non-transition bit period. At block 340,after the non-transition bit period passes, it is determined whether atransition occurs. If a transition occurs, the process repeats at block320. If a transition does not occur, the process repeats at block 330.

[0048]FIG. 3B illustrates the process of decompressing a modulatedcarrier signal wherein bits are decoded as transitions are encounteredin accordance with one embodiment of the present invention. At block350, the receiving system decodes the first bit of the transmitted data.At block 360, the transition bit period elapses. At block 370, theamount of time that elapses between the end of the transition bit periodand the next transition is determined.

[0049] At block 380, the elapsed time is divided by the non-transitionbit period to determine the number, x, of non-transition bits thatfollowed the transition bit. If no time elapses between the end of theprevious transition bit period and the new transition, the number ofnon-transition bits is equal to zero. At block 390, x non-transitionbits are decoded. At block 395, the newly encountered transition bit isdecoded and the process repeats at block 360.

[0050] In other embodiments, the above schemes are used to decompressbinary data regardless of whether the binary data is being transmitted.For example, various embodiments use one or the other of the aboveschemes to decompress binary data that is stored on a magnetic tape.

[0051] Example Sequence

[0052]FIG. 4 illustrates an example of a modulated sequence, itscompressed representation and its decompressed representation inaccordance with one embodiment of the present invention. The sequence1001110 is represented in modulated carrier signal 400. Modulatedcarrier signal 400 is not compressed, so each bit has the same bitperiod and it will take 7 bit periods to transmit this sequence.

[0053] When modulated carrier signal 400 is compressed using oneembodiment of the present invention, compressed signal 410 results. Incompressed signal 410, non-transition bits 420 have half the bit periodof transition bits 430. Thus, it will only take 5.5 transition bitperiods to transmit the sequence instead of 7.

[0054] As the receiving system encounters compressed signal 410, itchecks for transitions one transition bit period after the first and alltransition bits and one non-transition bit period after allnon-transition bits. Thus, the receiving system will check fortransitions at locations 440 in compressed signal 410. If there is notransition at locations 440, the receiving system decodes the next bitas a non-transition bit. If there is a transition at locations 440, thereceiving system decodes the next bit as a transition bit, thusgenerating decompressed sequence 1001110.

[0055] Header Sequence

[0056] In one embodiment, a header sequence is transmitted. In oneembodiment, the header sequence is known to the receiving system. Thus,the header sequence is used to synchronize the receiving system. In oneembodiment, the header sequence contains a series of transition bits(e.g., 1010 or 0101) to assist in synchronization. Since the receivingsystem is expecting the series of transition bits, it is able todetermine the timing of modulated carrier signal as well as the durationof the transition bit period.

[0057] In another embodiment, every time a transition bit is received,synchronization is performed. FIG. 5A illustrates the process ofreceiving a compressed modulated carrier signal wherein each bit isdecoded as it is encountered in accordance with one embodiment of thepresent invention. At block 500, the receiving system decodes the firstbit of the transmitted data and the bit period for the first bit isassumed to be equal to the transition bit period. At block 510, afterthe transition bit period passes, it is determined whether a transitionoccurs. If a transition occurs, at block 520, a new bit is decoded (theopposite of the previous bit) and the new bit is assumed to have a bitperiod equal to the transition bit period. At block 530, the timing isresynchronized and the process repeats at block 510.

[0058] If a transition does not occur, at block 540, a new bit isdecoded (the same as the previous bit) and the new bit is assumed tohave a bit period equal to the non-transition bit period. At block 550,after the non-transition bit period passes, it is determined whether atransition occurs. If a transition occurs, the process repeats at block520. If a transition does not occur, the process repeats at block 540.

[0059]FIG. 5B illustrates the process of receiving a compressedmodulated carrier signal wherein bits are decoded as transitions areencountered in accordance with one embodiment of the present invention.At block 560, the receiving system decodes the first bit of thetransmitted data. At block 565, the timing is resynchronized. At block570, the transition bit period elapses. At block 575, the amount of timethat elapses between the end of the transition bit period and the nexttransition is determined.

[0060] At block 580, the elapsed time is divided by the non-transitionbit period to determine the number, x, of non-transition bits thatfollowed the transition bit. If no time elapses between the end of theprevious transition bit period and the new transition, the number ofnon-transition bits is equal to zero. At block 585, x non-transitionbits are decoded. At block 590, the newly encountered transition bit isdecoded and the process repeats at block 565.

[0061] In yet another embodiment, the header contains a non-transitionbit (e.g., 10100 or 01011). Because the receiving system knows where thenon-transition bit occurs, the system is able to determine the bitperiod of non-transition bits. Thus, the system is capable of receivingdifferent transitions that each have a different bit period fornon-transition bits (e.g., one with a bit period equal to one-half thelength of the bit period for transition bits, and another with a bitperiod equal to one-fifth the length of the bit period for transitionbits).

[0062]FIG. 6 illustrates the process of determining the non-transitionbit period in accordance with one embodiment of the present invention.At block 600, a series of transition bits is received and the receiveris synchronized with the incoming modulated carrier signal. At block610, when a non-transition bit is about to be received at a knownposition in the header sequence, a timer is started. At block 620, whena transition is encountered, the timer is stopped. At block 630, thetime recorded by the timer is used to determine the length of thenon-transition bit period.

[0063] In one embodiment, only one non-transition bit is transmittedwhen the timer is running. In this embodiment, the time recorded by thetimer is the non-transition bit period. In another embodiment, more thanone non-transition bits are transmitted when the timer is running. Inthis embodiment, the non-transition bit period is calculated by dividingthe recorded time by the number of non-transition bits. In still otherembodiments, the timer is started when the last transition bit beforethe non-transition bit is received. In these embodiments, the transitionbit period is subtracted from the recorded time as part of calculatingthe non-transition bit period. Other embodiments start and stop thetimer at different times and appropriately adjust their calculation ofthe non-transition bit period.

[0064] Although described in connection with transmitted data, theinvention described in this patent application is applicable to thetransport or storage of any type of binary data, regardless of themedium (i.e., wireless, wired, magnetic, optical, etc.). This inventionincreases the transfer speed and/or storage capacity of any binary datatransport or storage system by compressing in time (and/or storagespace) all portions of the binary data which contain non-changing logicstates.

[0065] Noise Immunity

[0066] In another embodiment, noise in compressed binary data is maskedusing bit period information. When a transition bit is encounteredduring decompression, no other transition can be valid until at leastthe transition bit period has passed. Thus, noise occurring beforepassage of the transition bit period will not result in an error. Thisnoise immunity property increases as the percentage of transition bitsin the data increases.

[0067]FIG. 7 illustrates a noisy compressed signal and the resultingdecompressed signal in accordance with one embodiment of the presentinvention. When noisy, compressed signal 710 is decompressed using oneembodiment of the present invention, decompressed signal 700 results. Innoisy, compressed signal 710, non-transition bits 720 have half the bitperiod of transition bits 730. After encountering a transition, thesystem does not look for another transition until points 740. Noise 750does not cause errors because the noise occurs within the transition bitperiod 730 where the system knows the noise cannot be valid transitions.Thus, embodiments of the present invention are partly immune from theadverse effects of noise.

[0068] Embodiment of Computer Execution Environment (Hardware)

[0069] An embodiment of the invention can be implemented as computersoftware in the form of computer readable program code executed in ageneral purpose computing environment such as environment 800illustrated in FIG. 8, or in the form of bytecode class files executablewithin a Java™ run time environment running in such an environment, orin the form of bytecodes running on a processor (or devices enabled toprocess bytecodes) existing in a distributed environment (e.g., one ormore processors on a network). A keyboard 810 and mouse 811 are coupledto a system bus 818. The keyboard and mouse are for introducing userinput to the computer system and communicating that user input tocentral processing unit (CPU) 813. Other suitable input devices may beused in addition to, or in place of, the mouse 811 and keyboard 810. I/O(input/output) unit 819 coupled to bi-directional system bus 818represents such I/O elements as a printer, ANV (audio/video) I/O, etc.

[0070] Computer 801 may include a communication interface 820 coupled tobus 818. Communication interface 820 provides a two-way datacommunication coupling via a network link 821 to a local network 822.For example, if communication interface 820 is an integrated servicesdigital network (ISDN) card or a modem, communication interface 820provides a data communication connection to the corresponding type oftelephone line, which comprises part of network link 821. Ifcommunication interface 820 is a local area network (LAN) card,communication interface 820 provides a data communication connection vianetwork link 821 to a compatible LAN. Wireless links are also possible.In any such implementation, communication interface 820 sends andreceives electrical, electromagnetic or optical signals which carrydigital data streams representing various types of information.

[0071] Network link 821 typically provides data communication throughone or more networks to other data devices. For example, network link821 may provide a connection through local network 822 to local servercomputer 823 or to data equipment operated by ISP 824. ISP 824 in turnprovides data communication services through the world wide packet datacommunication network now commonly referred to as the “Internet” 825.Local network 822 and Internet 825 both use electrical, electromagneticor optical signals which carry digital data streams. The signals throughthe various networks and the signals on network link 821 and throughcommunication interface 820, which carry the digital data to and fromcomputer 800, are exemplary forms of carrier waves transporting theinformation.

[0072] Processor 813 may reside wholly on client computer 801 or whollyon server 826 or processor 813 may have its computational powerdistributed between computer 801 and server 826. Server 826 symbolicallyis represented in FIG. 8 as one unit, but server 826 can also bedistributed between multiple “tiers”. In one embodiment, server 826comprises a middle and back tier where application logic executes in themiddle tier and persistent data is obtained in the back tier. In thecase where processor 813 resides wholly on server 826, the results ofthe computations performed by processor 813 are transmitted to computer801 via Internet 825, Internet Service Provider (ISP) 824, local network822 and communication interface 820. In this way, computer 801 is ableto display the results of the computation to a user in the form ofoutput.

[0073] Computer 801 includes a video memory 814, main memory 815 andmass storage 812, all coupled to bi-directional system bus 818 alongwith keyboard 810, mouse 811 and processor 813. As with processor 813,in various computing environments, main memory 815 and mass storage 812,can reside wholly on server 826 or computer 801, or they may bedistributed between the two. Examples of systems where processor 813,main memory 815, and mass storage 812 are distributed between computer801 and server 826 include the thin-client computing architecturedeveloped by Sun Microsystems, Inc., the palm pilot computing device andother personal digital assistants, Internet ready cellular phones andother Internet computing devices, and in platform independent computingenvironments, such as those which utilize the Java technologies alsodeveloped by Sun Microsystems, Inc.

[0074] The mass storage 812 may include both fixed and removable media,such as magnetic, optical or magnetic optical storage systems or anyother available mass storage technology. Bus 818 may contain, forexample, thirty-two address lines for addressing video memory 814 ormain memory 815. The system bus 818 also includes, for example, a 32-bitdata bus for transferring data between and among the components, such asprocessor 813, main memory 815, video memory 814 and mass storage 812.Alternatively, multiplex data/address lines may be used instead ofseparate data and address lines.

[0075] In one embodiment of the invention, the processor 813 is a SPARCmicroprocessor from Sun Microsystems, Inc., a microprocessormanufactured by Motorola, such as the 680X0 processor, or amicroprocessor manufactured by Intel, such as the 80X86 or Pentiumprocessor. However, any other suitable microprocessor or microcomputermay be utilized. Main memory 815 is comprised of dynamic random accessmemory (DRAM). Video memory 814 is a dual-ported video random accessmemory. One port of the video memory 814 is coupled to video amplifier816. The video amplifier 816 is used to drive the cathode ray tube (CRT)raster monitor 817. Video amplifier 816 is well known in the art and maybe implemented by any suitable apparatus. This circuitry converts pixeldata stored in video memory 814 to a raster signal suitable for use bymonitor 817. Monitor 817 is a type of monitor suitable for displayinggraphic images.

[0076] Computer 801 can send messages and receive data, includingprogram code, through the network(s), network link 821, andcommunication interface 820. In the Internet example, remote servercomputer 826 might transmit a requested code for an application programthrough Internet 825, ISP 824, local network 822 and communicationinterface 820. The received code may be executed by processor 813 as itis received, and/or stored in mass storage 812, or other non-volatilestorage for later execution. In this manner, computer 800 may obtainapplication code in the form of a carrier wave. Alternatively, remoteserver computer 826 may execute applications using processor 813, andutilize mass storage 812, and/or video memory 815. The results of theexecution at server 826 are then transmitted through Internet 825, ISP824, local network 822 and communication interface 820. In this example,computer 801 performs only input and output functions.

[0077] Application code may be embodied in any form of computer programproduct. A computer program product comprises a medium configured tostore or transport computer readable code, or in which computer readablecode may be embedded. Some examples of computer program products areCD-ROM disks, ROM cards, floppy disks, magnetic tapes, computer harddrives, servers on a network, and carrier waves.

[0078] The computer systems described above are for purposes of exampleonly. An embodiment of the invention may be implemented in any type ofcomputer system or programming or processing environment.

[0079] Thus, a method and apparatus for compression of modulated datatransmission is described in conjunction with one or more specificembodiments. The invention is defined by the following claims and theirfull scope and equivalents.

I claim:
 1. A method of masking noise in binary data, comprising:detecting a transition bit of said binary data; determining a transitionbit period of said binary data; and accepting as a valid subsequenttransition only a transition occurring after at least a passage of saidtransition bit period such that any noise occurring before passage ofsaid transition bit period does not result in an error in transmissionof said binary data.
 2. A system for masking noise in binary data,comprising: a detection unit configured to detect a transition bit ofsaid binary data; a determiner configured to determine a transition bitperiod of said binary data; and a validating unit configured to acceptas a valid subsequent transition only a transition occurring after atleast a passage of said transition period such that any noise occurringbefore passage of said transition bit period does not result in an errorin transmission of said binary data.
 3. A computer program productcomprising: a computer usable medium having computer readable programcode embodied therein configured for masking noise in binary data,comprising: computer readable code configured to cause a computer todetect a transition bit of said binary data; computer readable codeconfigured to cause a computer to determine a transition bit period ofsaid binary data; and computer readable code configured to cause acomputer to accept as a valid subsequent transition only a transitionoccurring after at least a passage of said transition period such thatany noise occurring before passage of said transition bit period doesnot result in an error in transmission of said binary data.